protocollo o programma di trasferimento file
(File Transfer Protocol o File Transfer Program)
|
Un insieme di regole per abilitare il colloquio bidirezionale tra due
computer durante il trasferimento di un file. Il nome si riferisce sia al
protocollo di trasmissione sia al programma che ne fa uso. Il protocollo
viene usato quando si scarica un file sul proprio computer prelevandolo da
un sito Internet e racchiude in sé i comandi TCP/IP (Transmission Control
Protocol/Internet Protocol) per eseguire il login sulla rete, visualizzare
lÆelenco dei file esistenti e copiarli sulla stazione locale. In molti
casi il computer da cui si vogliono prelevare dati accetta login anonimi,
questo significa che alla richiesta di qualificarsi lÆutente risponde
"anonymous" e alla richiesta della password fornisce il proprio indirizzo
di posta elettronica su Internet. In questo caso si parla di FTP anonimo.
LÆarea di Internet composta da siti di questo tipo prende il nome di
"spazio FTP" e costituisce una componente esterna e periferica rispetto
allo spazio World Wide Web che invece usa il protocollo HTTP (HyperText
Transfer Protocol). ╚ possibile accedere a un server FTP dallÆinterno di
un browser Web, ma le informazioni visualizzate saranno quelle tipiche di
un server FTP (si vedrà solo il nome dei file e delle directory
disponibili più un eventuale file README che ne spiega i contenuti).
LÆindirizzo da digitare in questo caso avrà un formato di questo tipo:
ftp://ftp.earn.net. A differenza di quanto avviene nello spazio Web, non è
possibile memorizzare le pagine sulla cache locale (una porzione di disco
riservata allo scopo) e quindi vanno ricaricate dalla rete ogni volta che
ci si torna sopra. Il protocollo è lo stesso anche quando si vuole spedire
un proprio file a un altro computer collegato a Internet.
Molti dei siti contenenti file audio, video e grafici sono accessibili
solo attraverso FTP e lÆimpiego di questo protocollo è un modo semplice
per rendere disponibili documenti su Internet senza creare un vero e
proprio server Web. Per questo motivo capita di usare spesso lÆFTP durante
le attività di navigazione, specie quando da una pagina HTML si chiede lo
scaricamento di un file sulla macchina locale. Il protocollo esegue anche
una traduzione da ASCII (American Standard Code for Information
Interchange) ed EBCDIC (Extended Binary Coded Decimal Interchange Code).
FTP, a differenza di altre applicazioni per Internet, usa due connessioni
TCP per unire client e server. La prima rimane attiva per tutta la durata
della sessione al fine di trasferire informazioni di controllo, la seconda
viene creata e interrotta ogni volta che bisogna trasmettere qualcosa. Le
specifiche più recenti del protocollo sono contenute nellÆRFC 959
dellÆottobre 1985 che rimpiazza la precedente RFC 765. Le medesime
specifiche sono riportate nella STD 9.
La storia dellÆFTP comincia il 16 aprile del 1971 quando Abhay Bhushan del
MIT (Massachussets Institute of Technology) propone la RFC 114 in cui si
descrive un protocollo da utilizzare con gli host disponibili nellÆMIT. Il
29 aprile di quello stesso anno Eric Harslem e John Heafner commentano e
descrivono questo nuovo protocollo nella RFC 141. Immediatamente dopo, il
23 giungo del 1971 Abhay propone una versione del protocollo adatta per
funzionare a livello di utente finale e consentire lo scambio di file tra
due computer. Seguono altre RFC di affinamento e con la RFC 354 sempre di
Bushan, lÆFTP diventa il protocollo ufficiale per scambiare file su ARPAnet
. Il suo scopo è quello di trasferire file in modo efficace e affidabile,
così da condividere lo spazio disponibile sul disco di una macchina
remota. Il 27 novembre 1972 da Greg Hicks dellÆUniversità dello Utah
(lÆRFC 412) per fornire agli utenti le istruzioni su come funzionava il
nuovo protocollo. Infine la RFC 454 scritta il 16 febbraio 1973 da Alex
McKenzie della BBN (Bolt, Beranek and Newmann) sancisce lÆufficialità del
protocollo. Il 12 luglio del 1973 il protocollo viene modificato
profondamente con la pubblicazione di un nuovo standard nellÆRFC 542
scritta da Nancy Neigus della BBN. Parecchie macchine contineuranno
tuttavia a usare ancora la vecchia versione fino al 10 maggio 1975 quando
Brian Harvey della SU-AI scrive la RFC 686 per illustrare le differenze
tra le precedenti versioni di FTP e quella più recente, così da
incoraggiare le persone al cambiamento. Fin qui FTP funzionava su NCP
(Network Control Protocol) il primo dei protocolli impiegati su ARPAnet.
Bisognerà attendere fino al giugno 1980 quando la RFC 765 ne fornirà le
specifiche di funzionamento sui nuovi protocolli TCP/IP. La RFC 959
contiene alcuni aggiornamenti minori e costituisce lÆultima versione di
tali specifiche.
File Transfer Protocol in dettaglio
Come definito dalla Request For Comments 959, scritta nellÆottobre 1985
da Jon Postel e Joyce Reynolds dellÆISI (Information Sciences Institute),
che standardizza lÆuso di questo protocollo, lÆFTP assolve al
quadruplice scopo di favorire la condivisione di file (contenenti
programmi oppure dati) tra due computer, incoraggiare lÆuso esplicito
oppure implicito (mediato dal programma applicativo) di computer remoti,
trasferire i dati in modo affidabile ed efficiente, schermare lÆutente da
qualsiasi variazione di sistema di memorizzazione su disco (storage) da un
host allÆaltro. Questo significa che non solo il file system può essere
diverso da una macchina allÆaltra, ma che può cambiare anche sistema
operativo (DOS, Unix, Windows, OS/2, Mac OS, eccetera) e insieme di
caratteri (ASCII a 7 bit, binario, EBCDIC quando entrambi i sistemi lo
supportano). Si tratta di un protocollo che, benché utilizzabile
direttamente attraverso lÆomonima utility, serve principalmente come
appendice di programmi che lavorano su dati distribuiti sulla rete.
FTP si basa su due protocolli che sono stati sviluppati prima di esso in
ambiente ARPAnet: il TCP/IP (Transmission Control Protocol/Internet
Protocol) e il Telnet protocol, rispettivamente codificati nella RFC 793
pubblicata dalla DARPA (Defense Advanced Research Projects Agency) nel
settembre del 1981 e nella RFC 854 pubblicata sempre da Jon Postel e Joyce
Reynolds dellÆISI nel maggio del 1983.
Per anni ha rappresentato lÆunico sistema per scaricare software e
documenti da Internet e ancora oggi, benché tenda a essere rimpiazzato o
schermato da strumenti più moderni, rimane ancora lo strumento primario
usato nella maggior parte dei siti di archiviazione. ╚ importante comunque
ricordare che questo protocollo serve unicamente al trasferimento di file
e non per accedere a distanza su file depositati su un sistema remoto, la
qual cosa è resa possibile da altre applicazioni specifiche come lÆNSF
(Network File System) sviluppato da Sun.
Le definizioni peculiari di questo ambiente
Prima di vedere il semplice meccanismo che regola in funzionamento
dellÆFTP come protocollo è necessario definire i termini usati in questo
particolare ambito. Si tratta, in alcuni casi, di parole comuni nel mondo
dellÆinformatica, che però qui assumono un significato più circoscritto
che perciò va comunque chiarito. Li riportiamo esattamente come compaiono
nella RFC 959 e nei testi disponibili in commercio.
ASCII: un insieme di caratteri standard che comprende tutte le lettere
dellÆalfabeto, i numeri e vari caratteri di controllo. In FTP, si usa
solo la metà inferiore dei caratteri che compongono il codice ASCII perciò
invece di usare 8 bit a cui corrispondono 256 combinazioni e altrettanti
caratteri, si usano 7 bit equivalenti a 128 caratteri, il che comprende
tutti i segni, i caratteri speciali di controllo e le lettere
dellÆalfabeto, con eccezione delle vocali accentate tipiche
dellÆitaliano e di altre lingue diverse dallÆinglese.
ASCII type: uno dei quattro tipi di rappresentazione (type) usato per
difetto dal protocollo FTP quando trasferisce un file o una porzione di
questo. Si usa per il trasferimento di documenti di testo. I caratteri
vengono presi dalla macchina server, trasformati nel formato ASCII
previsto dallÆNVT di Telnet, trasferiti allÆaltra macchina che li
riconverte nel proprio formato ASCII prima di memorizzarli su disco.
LÆuso dellÆASCII secondo le specifiche definite per il protocollo Telnet
significa inviare caratteri da 7 bit in un campo da 8 bit. La fine di
ciascuna riga di testo viene segnalata dalla successione di due caratteri
di controllo: Carriage Return e Line Feed. Questo implica che il ricevente
deve esaminare ogni singolo byte in arrivo per identificare la presenza di
uno di questi due caratteri di controllo. In fase di trasferimento è anche
possibile specificare il tipo di trattamento che il file di testo dovrà
ricevere allÆestremo ricevente, vale a dire specificare se dovrà essere
stampato, se dovrà essere memorizzato su disco oppure se dovrà essere
elaborato in locale. Per ciascuna di queste tre modalità può essere perciò
indicato un parametro di controllo del formato, il cui default si chiama
NON PRINT e si riferisce alla versione di file che va memorizzata su disco
esattamente come viene ricevuta oppure elaborata nella sua forma
originale. Nel caso lo si debba stampare bisognerà aggiungere il
riconoscimento di speciali caratteri che comandano il movimento della
testina e che sono sempre codificati dal protocollo Telnet.
access controls (controlli di accesso): definiscono i privilegi di accesso
di cui lÆutente gode nellÆuso di un particolare computer e dei file che
vi sono memorizzati. ╚ necessario impostarli al fine di prevenire lÆuso
non autorizzato o accidentale dei file. ╚ prerogativa del processo server
del protocollo FTP invocarli.
block mode (modalità a blocchi): il file viene trasferito in una serie di
blocchi, ciascuno preceduto da uno o più byte dÆintestazione. Questa
intestazione contiene la lunghezza complessiva del blocco espressa in
byte, così da permetterci dÆidentificare dove inizierà il prossimo
blocco, e un codice di descrizione che ci dice se questo è lÆultimo
blocco del file, lÆultimo blocco del record, oppure se il blocco
contiene dati che potrebbero essere stati alterati e che quindi non vanno
considerati attendibili. QuestÆultima indicazione non serve tanto da
meccanismo di correzione dellÆerrore allÆinterno del protocollo quanto
come indicazione alla fonte nel caso in cui le informazioni vengano lette
da supporti magnetici soggetti a usura (come i nastri) e si voglia co
munque trasferirle a qualsiasi richiedente anche nel caso in cui non fosse
possibile leggerne una parte.
byte size (dimensione del byte): esistono due possibili dimensioni del
byte in ambito FTP: quella usata per determinare la dimensione logica del
file e quella impiegata per il trasferimento. La seconda viene sempre
espressa in byte da 8 bit, ma non necessariamente coincide con la
dimensione di byte che verrà usata nel memorizzare il file sul disco
rigido del sistema oppure con la dimensione di byte che servirà da metro
di riferimento per interpretare la struttura dei dati contenuti
allÆinterno del file medesimo (fine del file, suddivisione di questo in
record e via dicendo).
comandi FTP: un insieme di comandi che comprendono anche lÆinformazione
di controllo che fluisce dal processo FTP dellÆutente al processo FTP del
server.
compressed mode (modalità compressa): i dati vengono spediti in modalità
compressa, separando i dati di tipo generico, inviati nella forma usuale
di una stringa di testo, i dati compressi, dove tutte le ripetizioni
vengono rappresentate con una coppia di byte (in cui è contenuto il
singolo byte che si ripete più il numero delle ripetizioni), e le
informazioni di controllo.
control connection (connessione di controllo): il percorso di
comunicazione tra la USER-PI e la SERVER-PI che viene usato per scambiare
comandi e risposte a tali comandi. Questa connessione segue le regole
definite dal protocollo Telnet.
data connection (connessione di trasferimento dati): una connessione full
duplex (ricezione e trasmissione contemporanee) sulla quale vengono
trasferiti dati di un tipo specificato e secondo una modalità specifica. I
dati trasferiti possono costituire la porzione di un file, un file intero
oppure diversi file. Il percorso può unire un server-DTP e un user-DTP
oppure due server-DTP.
data port (porta di trasferimento dati): il processo (modulo di programma)
passivo ñascolta" quel che avviene sulla porta di trasferimento dati
nellÆattesa che il processo di trasferimento attivo gli comunichi di
aprire una connessione di trasferimento dati.
data structure (struttura dei dati): in aggiunta a definire il tipo di
rappresentazione da usare per i dati (type) il protocollo FTP consente
anche dÆimpostarne la struttura scegliendo da tre possibili alternative:
file structure, record structure e page-structure.
DTP (Data Transfer Process - processo di trasferimento dati): un processo
(modulo di programma) che attiva e gestisce la connessione di
trasferimento dati. Il DTP può essere passivo oppure attivo.
EBCDIC type: uno dei quattro tipi di rappresentazione (type) usato per
difetto dal protocollo FTP quando trasferisce un file o una porzione di
questo. Si usa in tutti quegli ambienti dove entrambe le macchine (host)
usano il codice Extended Binary Coded Decimal Interchange Code. Il suo
impiego è limitato soprattutto al mondo dei mainframe IBM. ╚
sostanzialmente identico al tipo ASCII, dal quale si differenzia solo per
la codifica dei caratteri.
End-of-Line (fine della riga): una sequenza di caratteri che segna la
separazione tra una riga e lÆaltra nellÆinvio di un documento alla
stampante. La sequenza è un Carriage Return (codice ASCII 13 - ritorno a
capo) seguito da un Line Feed (codice ASCII 10 - avanzamento riga) il che
corrisponde alle due azioni che si compiono manualmente quando si ritorna
a capo con una macchina per scrivere: si riporta il carrello allÆinizio
della corsa e si fa avanzare il foglio alla riga successiva.
EOF (End Of File - fine del file): una particolare condizione che
definisce il termine del file che si sta trasferendo.
EOR (End Of Record - fine del record): una particolare condizione che
definisce il termine del record che si sta trasferendo.
error recovery (correzione o recupero dellÆerrore) una procedura che
consente di rimediare al verificarsi di una certa condizione di errore,
come il blocco di uno dei due sistemi coinvolti nel trasferimento oppure
lÆinterruzione prematura del trasferimento medesimo. In ambito FTP il
recupero dellÆerrore può voler dire riprendere il trasferimento a partire
da un check point (punto di verifica intermedio) precedentemente definito
dai due sistemi.
file: un insieme ordinato di dati in formato riconoscibile da un computer
(il che include anche file di programma), di lunghezza arbitraria,
identificato in modo univoco da un percorso di memorizzazione su disco
(pathname).
file-structure (struttura in formato file): il file viene visto come
unÆentità singola senza divisioni interne, vale a dire una sequenza
continua e ininterrotta di byte. Si tratta della struttura assunta per
difetto dal protocollo FTP.
image type (tipo immagine): uno dei quattro tipi di rappresentazione
(type) usato per difetto dal protocollo FTP quando trasferisce un file o
una porzione di questo. I dati vengono trasferiti come sequenza di bit
contigui, suddivisi in byte da 8 bit. La macchina ricevente deve
memorizzare i bit contigui nellÆesatta sequenza con cui gli arrivano,
aggiungendo eventuali bit di riempimento (tutti 0) se richiesto dal
particolare file system in uso (dove la dimensione dei file di solito è il
multiplo di qualche valore costante e non può essere determinata con la
precisione del singolo bit). Tale riempimento deve, poi, essere eliminato
in fase di recupero del file dal disco. Questo tipo viene usato per
trasferire programmi e file binari in generale, tra cui anche le immagini
(da cui il nome).
local type (tipo locale): uno dei quattro tipi di rappresentazione (type)
usato per difetto dal protocollo FTP quando trasferisce un file o una
porzione di questo. I dati vengono trasferiti in byte logici che hanno la
dimensione uguale a quella specificata da un secondo parametro
obbligatorio, chiamato byte size. Tale valore deve essere un numero intero
decimale e non esiste nessun valore assunto per difetto. La dimensione
logica del byte non coincide necessariamente con la dimensione di byte
usata nel trasferimento. Se esistessero differenze tra i due valori, la
macchina ricevente dovrebbe memorizzare tutti i byte ricevuti uno contiguo
allÆaltro, senza tener conto della separazione arbitraria introdotta in
fase di trasferimento, e dovrebbe anche aggiungere eventuali bit di
riempimento alla fine del file (vedi image type).
Il formato di memorizzazione finale dipenderà dalle caratteristiche del
file system usato sulla macchina locale, anche se dovrà sempre essere
possibile eseguire lÆoperazione inversa e recuperare il dato nel formato
originario. Ad esempio se un numero a 36 bit viene trasferito a una
macchina che memorizza le informazioni in word da 32 bit (la word è
lÆunità di memorizzazione interna usata da un particolare computer)
bisognerebbe trasferire i dati come local type attribuendo una dimensione
di byte logico di 36 bit. Sulla macchina ricevente questo dato verrebbe
registrato su due word da 32 bit occupando 64 bit.
mode (modo): la modalità in cui i dati vengono trasferiti attraverso la
connessione di trasferimento dati. Il modo specifica anche il formato di
trasferimento il che comprende anche come indicare le condizioni di EOR e
di EOF. I modi di trasmissione previsti da FTP sono: stream mode, block
mode, compressed mode.
NVT (Network Virtual Terminal -- terminale virtuale di rete): un tipo
particolare di terminale definito dal protocollo Telnet. Si tratta di un
dispositivo immaginario (emulato via software) che fornisce la
rappresentazione standard di un terminale canonico collegato in rete. In
questo modo si evita di dover registrare sul server e sulla macchina
dellÆutente le caratteristiche fisiche di ogni singolo terminale
impiegato. Tutti i server e tutte le macchine utenti (host in entrambi i
casi) mappano le proprie caratteristiche fisiche su quelle standard
dellÆNTV e assumono che anche la macchina allÆaltro estremo stia facendo
altrettanto. Tra i vincoli imposti dallÆNTV abbiamo lÆimpiego di una
codifica ASCII a 7 bit (senza lettere accentate).
NVFS (Network Virtual File System - file system virtuale di rete): un
concetto che definisce un file system standard per lÆintera rete, il che
si estende alla standardizzazione dei comandi e della convenzione per i
percorsi di registrazione (pathname).
page (pagina): un file può essere strutturato in un insieme di parti
indipendenti, chiamate pagine. FTP consente la trasmissione di un file
nella forma discontinua e frammentata di pagine indicizzate indipendenti.
page-structure (struttura a pagine): il file è suddiviso in pagine
indicizzate singolarmente. Viene usato per accedere a file cosiddetti
discontinui ai quali si vuole accedere in modo casuale (cioè non
cominciando necessariamente dallÆinizio). ╚ utile quando si vuole andare
a leggere solo una sezione del file oppure quando si vuole prelevare una
descrizione o qualche altra informazione che è collegata al file. Ogni
pagina contiene una propria intestazione che la identifica in sequenza e
che indica anche la quantità di byte contenuti in quella particolare
pagina, dichiarando tra lÆaltro se si tratta di una pagina singola,
dellÆultima pagina, di una descrizione oppure di una pagina il cui
accesso è regolato da privilegi.
pathname (percorso di memorizzazione): il pathname è quella sequenza di
caratteri che deve essere fornita dallÆutente al file system per poter
identificare un particolare file. Il pathname contiene di solito nomi di
dispositivi (il disco oppure la macchina nel caso in cui la ricerca si
estenda alla rete) oppure di directory, oltre che lÆindicazione del nome
specifico di un particolare file. FTP non specifica alcuno standard per la
convenzione da adottare nello specificare un pathname, lÆutente deve
perciò seguire le convenzioni definite dal particolare sistema operativo
coinvolto nel trasferimento file. Un esempio di pathname è C:\DOS\FILE.DOC
un altro esempio è /bin/ftp-list.
PI (Protocol Interpreter - interprete di protocollo): il lato client e il
lato server del protocollo svolgono ruoli differenti attraverso lÆimpiego
rispettivamente di uno user-PI e un server-PI.
record: un file sequenziale può essere strutturato nella forma di diverse
parti contigue chiamate record. FTP può gestire file strutturati in
record, ma non richiede che lo siano obbligatoriamente.
record-structure (struttura a record): il file di testo è suddiviso in una
sequenza di record.
reply (risposta): la reply è una conferma di ricezione (acknowledgement)
positiva oppure negativa inviata dal server allÆutente per mezzo della
control connection in risposta a un comando FTP. La forma generica di
questa risposta è un codice di completamento (che include anche la
segnalazione di eventuali errori) seguito da una stringa di testo (un
insieme sequenziale di caratteri). I codici servono da indicazione ai
programmi che usano lÆFTP in modo automatico mentre il testo serve da
spiegazione per gli utenti che trasferiscono file con procedura manuale.
server-DTP (server-Data Transfer Process - processo di trasferimento dati
del server): questo processo, se posto nella condizione di ñattivo",
crea la connessione con la porta di trasferimento dati che si trova in
ñascolto" (L Port) e predispone i parametri per avviare il trasferimento
e per la registrazione del file, dopodiché attiva il trasferimento vero e
proprio su comando del proprio PI. Se posto nella condizione di
ñpassivo", questo processo attende e ñascolta" in attesa che qualcuno
dallÆesterno chieda una connessione sulla porta di trasferimento dati.
server-FTP process (processo FTP del server): un processo oppure un
insieme di processi che eseguono il trasferimento di dati in cooperazione
con uno user-FTP process oppure in abbinamento a un altro server. La
funzione comprende un PI (interprete di protocollo) e un processo per il
trasferimento dati vero e proprio (DTP).
server-PI (server-Protocol Interpreter - interprete di protocollo del
server): lÆinterprete di protocollo del server ñascolta" quel che
succede sulla porta L (L Port, alias listening port o porta di ascolto)
per determinare se è stata attivata una connessione da qualche user-PI,
dopo di che attiva una control communication connection. Riceve comandi
FTP standard dalla user-PI, invia le risposte e governa il funzionamento
del server-DTP.
stream mode (modalità a flusso continuo): si tratta della modalità assunta
per difetto dal protocollo FTP. Il file viene trasferito nella forma di un
flusso continuo di byte e la fine del file viene segnalata semplicemente
dal server che chiude la connessione di trasferimento dati (data
connection). Può capitare che la connessione venga chiusa prematuramente e
che il vostro browser segnali come completa la ricezione di un documento
che è stato scaricato solo parzialmente.
type (tipo): il tipo di rappresentazione usato per il trasferimento dei
dati e per la loro registrazione su disco. La definizione di tipo implica
alcune trasformazioni tra il formato ricevuto durante la trasmissione e il
formato che verrà effettivamente trasferito su disco. I tipi previsti da
FTP sono: ASCII, EBCDIC, image (binario), local (dipendente dal tipo di
macchina - host - che riceve).
user (utente): una persona o un processo che funziona per conto di una
persona che desideri attivare un trasferimento di file. LÆutente umano
può interagire direttamente con un processo server-FTP, tuttavia è
preferibile ricorrere a un processo user-FTP poiché questo filtra le
complessità dÆinterazione e perché lÆFTP è stato concepito in favore
dellÆautomazione.
user-DTP (user-Data Transfer Process - processo di trasferimento dati
dellÆutente): questo processo ñascolta" la porta di trasferimento dati
per sentire se è in arrivo una connessione dal processo server. Se il
trasferimento interessa due server, allora lo user-DTP rimane inattivo.
user-FTP process (processo FTP dellÆutente): un insieme di funzioni, tra
cui anche un interprete di protocollo, un processo di trasferimento dati e
unÆinterfaccia utente, che insieme svolgono lÆoperazione di trasferire
un file in collaborazione con uno o più processi FTP sul server.
LÆinterfaccia utente consente di usare il linguaggio locale nel dialogo
con lÆutente e nella visualizzazione delle risposte provenienti dal
server.
user-PI (user-Protocol Interpreter - interprete di protocollo
dellÆutente): lÆinterprete di protocollo dellÆutente inizia la control
connection dalla porta U (U Port, alias user port, porta dellÆutente)
verso il processo FTP sul server, dà avvio ai FTP e governa lo user-DTP
nel caso in cui questÆultimo processo partecipi al trasferimento del file.
Come funziona
Tra i vari protocolli usati su Internet, FTP ha la peculiarità di
mantenere attive nello stesso tempo due connessioni logiche tra le due
macchine interessate al trasferimento. La prima di queste connessioni
serve a instaurare una connessione di controllo (quella che regola
lÆandamento delle operazioni) mediante il protocollo Telnet. EÆ in questa
fase che avviene il logon iniziale (in cui il server chiede il nome e la
password dellÆutente entrante, oppure attende lÆarrivo della parola
anonymous seguita dallÆindirizzo di posta elettronica dellÆutente al
posto della password nel caso in cui si stia usando FTP in modo anonimo).
Sulla control connection viaggiano tutti i comandi FTP e perciò la
connessione va mantenuta attiva per tutta la durata della trasmissione e
va chiusa su istruzione dellÆutente solo quando la sessione di
collegamento giunge al termine. Spetta allÆutente avviare la connessione
di controllo rivolgendosi al proprio interprete di protocollo (user-PI);
questo resterà attivo per tutta la durata della sessione e fungerà da
intermediario tra la rete e il disco della macchina locale, pilotato
direttamente dallo user-DTP, oltre che da referente per il server-PI
allÆaltro estremo con il quale scambierà i comandi impostati dallÆutente
(oppure dal programma che questi sta utilizzando) e le risposte del
server. Dopo aver creato la connessione, bisogna selezionare la directory
remota in cui si trova il file che si vuole prelevare e la directory
locale in cui questo dovrà essere registrato (usando il comando cd [nome]
e altri se necessario). Fatto questo, sÆimpostano gli eventuali parametri
della trasmissione (tipo e struttura del file e modalità di trasferimento
che nelle varie combinazioni ci danno 72 modi possibili) e infine si
attiva il trasferimento vero e proprio con i comandi get o retr [nomefile]
per prelevare e put o stor [nomefile] per inviare (i comandi viaggiano
sulla connessione di controllo secondo il formato NVT di Telnet). Se
lÆoperazione viene eseguita dallÆinterno di un browser Web, tutte queste
operazioni saranno schermate e il prelievo verrà attivato attraverso un
collegamento ipertestuale che segnala il nome del file allÆinterno di una
pagina HTLM oppure mediante una finestra che mostra il contenuto della
directory del server. Usando unÆutility o un programma specifici per FTP
oppure i comandi diretti, si ha il vantaggio di usare i caratteri jolly
(*) e di attivare in questo modo il prelievo contemporaneo di diversi
file, anziché doverli prendere uno alla volta. ╚ possibile interrompere il
trasferimento in qualsiasi momento mediante il comando quit che chiude
definitivamente la connessione oppure close che interrompe lÆinvio
mantenendo la connessione attiva (oppure attraverso la funzione di
sospensione prevista dal programma in uso). Nel rapporto tra utente e
server, una volta inviati i comandi che specificano la modalità di
trasferimento e che chiedono lÆattivazione di questÆultimo, la user-DTP
rimane in ascolto sulla propria porta (U Port) in attesa che il server
inizi la data connection e il trasferimento dati vero e proprio. La porta
utente potrebbe anche trovarsi su una macchina diversa da quella che ha
attivato la control connection, in tal caso, però, bisogna assicurarsi che
la macchina di destinazione sia pronta a ricevere. Trattandosi di una
connessione full duplex, la data connection può essere usata per ricevere
e trasmettere contemporaneamente. Nel caso in cui si volesse attivare
dalla propria stazione utente il trasferimento a distanza tra due server,
basta creare la data connection tra le due macchine interessate,
mantenendo attiva sulla propria macchina la connessione di controllo.
Durante la connessione il programma FTP utilizza una well known port che
corrisponde ai numeri 20 e 21.
|
|